home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / rascal.arc / INPUT.INC < prev    next >
Text File  |  1980-01-01  |  2KB  |  86 lines

  1. 'INPUT.INC: Some input routines that make life easier
  2. '            (C) Copyright 1983 Marty Franz
  3.  
  4. PROCEDURE INITIALIZE.INPUT        'Initialize cursor and proof string
  5.     IN.CHAR$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 "
  6.     IN.BLINK = 5 : IN.CURCNT = IN.BLINK
  7. ENDPROC
  8.  
  9. PROCEDURE GET.YES.OR.NO            'Get a yes or no answer from user
  10.     'ANSWER contains either YES (1) or NO (0) on exit.
  11.     IN.GOTIT = 0 : YES = 1 : NO = 0
  12.     REPEAT
  13.         DO IN.GET.KEY
  14.         IF IN.KEY$ = "Y"
  15.             IN.GOTIT = 1
  16.             ANSWER = YES
  17.         ELSE
  18.             IF IN.KEY$ = "N"
  19.                 IN.GOTIT = 1
  20.                 ANSWER = NO
  21.             ENDIF
  22.         ENDIF
  23.     UNTIL IN.GOTIT = 1
  24. ENDPROC
  25.  
  26. PROCEDURE GET.STRING            'Get label name for breakpoint
  27.     IN.INPUT$ = ""
  28.     IN.START.COL = POS(0)
  29.     REPEAT
  30.         DO IN.GET.KEY
  31.         IF IN.KEY$ = CHR$(13)
  32.             BREAK
  33.         ELSE
  34.             IF IN.KEY$ = CHR$(8)
  35.                 DO IN.DEL.CHAR
  36.             ELSE
  37.                 IF INSTR(IN.CHARS$,IN.KEY$) > 0
  38.                     DO IN.INS.CHAR
  39.                 ELSE
  40.                     BEEP
  41.                 ENDIF
  42.             ENDIF
  43.         ENDIF
  44.     UNTIL 1 = 0
  45. ENDPROC
  46.  
  47. PROCEDURE IN.GET.KEY             'Get uppercase key from keyboard
  48.     REPEAT
  49.         DO IN.CURSOR
  50.         IN.KEY$ = INKEY$
  51.     UNTIL LEN(IN.KEY$) > 0
  52.     IF ASC(IN.KEY$) > 96 AND ASC(IN.KEY$) < 123
  53.         IN.KEY$ = CHR$(ASC(IN.KEY$) - 32)
  54.     ENDIF
  55. ENDPROC
  56.  
  57. PROCEDURE IN.INS.CHAR            'Add char to end of input string
  58.     PRINT IN.KEY$;
  59.     IN.INPUT$ = IN.INPUT$ + IN.KEY$
  60. ENDPROC
  61.  
  62. PROCEDURE IN.DEL.CHAR            'Handle backspace key in input
  63.     IN.CUR.COL = POS(0)
  64.     IF IN.CUR.COL > IN.START.COL
  65.         IN.INPUT$ = LEFT$(IN.INPUT$,LEN(IN.INPUT$)-1)
  66.         PRINT " ";
  67.         LOCATE ,IN.CUR.COL-1
  68.     ELSE
  69.         BEEP
  70.     ENDIF
  71. ENDPROC
  72.  
  73. PROCEDURE IN.CURSOR                'Simulate BASIC cursor
  74.     IF IN.CURCNT = IN.BLINK
  75.         IF IN.CURCHAR$ = CHR$(&H5F)
  76.             IN.CURCHAR$ = " "
  77.         ELSE
  78.             IN.CURCHAR$ = CHR$(&H5F)
  79.         ENDIF
  80.         IN.CURCNT = 0
  81.     ENDIF
  82.     PRINT IN.CURCHAR$;
  83.     IN.CURCNT = IN.CURCNT + 1
  84.     LOCATE ,POS(0)-1
  85. ENDPROC
  86.